home *** CD-ROM | disk | FTP | other *** search
/ Aminet 3 / Aminet 3 - July 1994.iso / Aminet / dev / lang / SML.lha / sml / report < prev    next >
Encoding:
Text File  |  1991-12-12  |  7.8 KB  |  208 lines

  1. *** Quoted from original distrinution files ***
  2.  
  3. Edinburgh Standard ML                                 (C) Edinburgh University
  4.  
  5. This version contains an experimental implementation of equality types
  6. and the 
  7.    'datatype db <<using tb>>' construct.
  8.  
  9.  
  10. - = > datatype TimeStamp = TimeStamp of { HostId:int, ProcessId:int, Time:int
  11.  }
  12.   datatype Stamped = File of string | Functor of string | Now | Signature of 
  13. string | Structure of string
  14.   exception TimeStampOf : unit
  15.   val usestring = fn : (string list) -> unit
  16.   val use = fn : (string list) -> unit
  17.   val system = fn : string -> int
  18.   val getenv = fn : string -> string
  19.   val collect = fn : 'a -> 'a
  20.   val TimeStampOf = fn : Stamped -> TimeStamp
  21.   con TimeStamp = fn : { HostId:int, ProcessId:int, Time:int } -> TimeStamp
  22.   con Structure = fn : string -> Stamped
  23.   con Signature = fn : string -> Stamped
  24.   val Print = { Depth=ref 1, ObjectCode=ref(false), ParseTree=ref(false), 
  25. Space=ref(false), StackCode=ref(false), Timings=ref(false), TraceML=ref(false)
  26. , Types=ref(true), Use=ref{| some |}, VarNames=ref(true), VarTypes=ref(true), 
  27. VarValues=ref(true) } : { Depth:int ref, ObjectCode:bool ref, ParseTree:bool 
  28. ref, Space:bool ref, StackCode:bool ref, Timings:bool ref, TraceML:bool ref, 
  29. Types:bool ref, Use:{| all, none, some |} ref, VarNames:bool ref, VarTypes:
  30. bool ref, VarValues:bool ref }
  31.   con Now = Now : Stamped
  32.   val ML = fn : unit -> unit
  33.   con Functor = fn : string -> Stamped
  34.   con File = fn : string -> Stamped
  35.   val ExportML = fn : (string * string * (string list)) -> unit
  36.   val ExportFunction = fn : (string * (unit -> unit) * int) -> unit
  37.   val Debug = { CheckMatch=ref(true), ExcEnv=ref(false), FunEnv=ref(false), 
  38. InhibitNewOverloadings=ref(true), InhibitUpdates=ref(false), InlineCode=ref 10
  39. , NewRules=ref(false), Optimise=ref(true), SigEnv=ref(false), StrEnv=ref(false
  40. ), TimeStamps=ref(false), TypeEnv=ref(false), TypeSharing=ref(true), 
  41. TypeVariables=ref(false), ValEnv=ref(false) } : { CheckMatch:bool ref, ExcEnv:
  42. bool ref, FunEnv:bool ref, InhibitNewOverloadings:bool ref, InhibitUpdates:
  43. bool ref, InlineCode:int ref, NewRules:bool ref, Optimise:bool ref, SigEnv:
  44. bool ref, StrEnv:bool ref, TimeStamps:bool ref, TypeEnv:bool ref, TypeSharing:
  45. bool ref, TypeVariables:bool ref, ValEnv:bool ref }
  46.   val CurrentState = fn : unit -> { ActiveStreams:unit, BuiltInExceptions:(
  47. string ref) array, CompactGC:bool ref, EmptyArray:unit array, EmptyTok:string
  48. , FunCompText:text[hidden], FunIdClosure:closure[hidden], GCMsgs:bool ref, 
  49. StartupClosure:closure[hidden], StdErr:outstream, StdIn:instream, StdOut:
  50. outstream, WaitingProcesses:unit }
  51.   val CpuTime = fn : unit -> int
  52. - = > structure String = 
  53.     struct
  54.       type string
  55.       exception chr : unit
  56.       exception ord : unit
  57.       val < = fn : (string * string) -> bool
  58.       val <= = fn : (string * string) -> bool
  59.       val > = fn : (string * string) -> bool
  60.       val >= = fn : (string * string) -> bool
  61.       val ^ = fn : (string * string) -> string
  62.       val chr = fn : int -> string
  63.       val explode = fn : string -> (string list)
  64.       val implode = fn : (string list) -> string
  65.       val length = fn : string -> int
  66.       val ord = fn : string -> int
  67.       val ordof = fn : (string * int) -> int
  68.       val size = fn : string -> int
  69.       val substring = fn : (string * int * int) -> string
  70.     end
  71.   structure Ref = 
  72.     struct
  73.       datatype '_a ref = ref of '_a
  74.       val ! = fn : ('a ref) -> 'a
  75.       val := = fn : (('a ref) * 'a) -> unit
  76.       val dec = fn : (int ref) -> unit
  77.       val inc = fn : (int ref) -> unit
  78.       con ref = fn : '_a -> ('_a ref)
  79.     end
  80.   structure Real = 
  81.     struct
  82.       type real
  83.       exception exp : unit
  84.       exception floor : unit
  85.       exception ln : unit
  86.       exception sqrt : unit
  87.       val * = fn : (real * real) -> real
  88.       val + = fn : (real * real) -> real
  89.       val - = fn : (real * real) -> real
  90.       val / = fn : (real * real) -> real
  91.       val < = fn : (real * real) -> bool
  92.       val <= = fn : (real * real) -> bool
  93.       val > = fn : (real * real) -> bool
  94.       val >= = fn : (real * real) -> bool
  95.       val abs = fn : real -> real
  96.       val arctan = fn : real -> real
  97.       val cos = fn : real -> real
  98.       val exp = fn : real -> real
  99.       val floor = fn : real -> int
  100.       val ln = fn : real -> real
  101.       val makestring = fn : real -> string
  102.       val real = fn : int -> real
  103.       val sin = fn : real -> real
  104.       val sqrt = fn : real -> real
  105.       val ~ = fn : real -> real
  106.     end
  107.   structure Pfl = 
  108.     struct
  109.       type beh = beh
  110.       type 'a chan = 'a chan
  111.       val & = fn : (beh * beh) -> beh
  112.       val + = fn : (beh * beh) -> beh
  113.       val NIL = - : beh
  114.       val exec = fn : beh -> unit
  115.       val pexec = fn : beh -> unit
  116.       val pfl_newport = fn : unit -> ('_a chan)
  117.       val pfl_read = fn : (('a chan) * ('a -> beh)) -> beh
  118.       val pfl_write = fn : (('a chan) * 'a * (unit -> beh)) -> beh
  119.     end
  120.   structure Output = 
  121.     struct
  122.       val check_minimum_fn = ref fn : (int -> unit) ref
  123.       val flush_fn = ref fn : (unit -> unit) ref
  124.       val lineterm = ref "
  125. " : string ref
  126.       val newline_fn = ref fn : (int -> unit) ref
  127.       val output_string_fn = ref fn : (string -> unit) ref
  128.     end
  129.   structure List = 
  130.     struct
  131.       datatype 'a list = :: of 'a * ('a list) | nil
  132.       con :: = fn : ('a * ('a list)) -> ('a list)
  133.       val @ = fn : (('a list) * ('a list)) -> ('a list)
  134.       val app = fn : ('a -> 'b) -> (('a list) -> unit)
  135.       val exists = fn : (('a -> bool) * ('a list)) -> bool
  136.       val fold = fn : (('a * 'b) -> 'b) -> (('a list) -> ('b -> 'b))
  137.       val hd = fn : ('a list) -> 'a
  138.       val length = fn : ('a list) -> int
  139.       val map = fn : ('a -> 'b) -> (('a list) -> ('b list))
  140.       con nil = [] : 'a list
  141.       val nth = fn : (('a list) * int) -> 'a
  142.       val null = fn : ('a list) -> bool
  143.       val rev = fn : ('a list) -> ('a list)
  144.       val revapp = fn : ('a -> unit) -> (('a list) -> unit)
  145.       val revfold = fn : (('a * 'b) -> 'b) -> (('a list) -> ('b -> 'b))
  146.       val tl = fn : ('a list) -> ('a list)
  147.     end
  148.   structure Integer = 
  149.     struct
  150.       type int
  151.       val * = fn : (int * int) -> int
  152.       val + = fn : (int * int) -> int
  153.       val - = fn : (int * int) -> int
  154.       val < = fn : (int * int) -> bool
  155.       val <= = fn : (int * int) -> bool
  156.       val > = fn : (int * int) -> bool
  157.       val >= = fn : (int * int) -> bool
  158.       val abs = fn : int -> int
  159.       val div = fn : (int * int) -> int
  160.       val makestring = fn : int -> string
  161.       val max = fn : (int * int) -> int
  162.       val min = fn : (int * int) -> int
  163.       val mod = fn : (int * int) -> int
  164.       val ~ = fn : int -> int
  165.     end
  166.   structure Dynamic = 
  167.     struct
  168.       type Dynamic
  169.     end
  170.   structure Bool = 
  171.     struct
  172.       datatype bool = false | true
  173.       con false = false : bool
  174.       val makestring = fn : bool -> string
  175.       val not = fn : bool -> bool
  176.       con true = true : bool
  177.     end
  178.   structure BasicIO = 
  179.     struct
  180.       type instream = instream
  181.       type outstream = outstream
  182.       exception io_failure : string
  183.       val close_in = fn : instream -> unit
  184.       val close_out = fn : outstream -> unit
  185.       val end_of_stream = fn : instream -> bool
  186.       val input = fn : (instream * int) -> string
  187.       val input_line = fn : instream -> string
  188.       val lookahead = fn : instream -> string
  189.       val open_in = fn : string -> instream
  190.       val open_out = fn : string -> outstream
  191.       val output = fn : (outstream * string) -> unit
  192.       val std_in = - : instream
  193.       val std_out = - : outstream
  194.     end
  195.   structure Array = 
  196.     struct
  197.       type '_a array
  198.       exception subscript : unit
  199.       val array = fn : (int * '_a) -> ('_a array)
  200.       val arrayoflist = fn : ('_a list) -> ('_a array)
  201.       val length = fn : ('a array) -> int
  202.       val sub = fn : (('a array) * int) -> 'a
  203.       val update = fn : (('a array) * int * 'a) -> unit
  204.     end
  205.   val o = fn : (('a -> 'b) * ('c -> 'a)) -> ('c -> 'b)
  206.  
  207. *** end of quotation ***